home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / RIncludes / Components.r < prev    next >
Encoding:
Text File  |  2000-04-12  |  5.3 KB  |  172 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        Components.r
  3.  
  4.      Contains:    QuickTime interfaces
  5.  
  6.      Version:    Technology:    
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    © 1990-1999 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17.  
  18. #ifndef __COMPONENTS_R__
  19. #define __COMPONENTS_R__
  20.  
  21. #ifndef __CONDITIONALMACROS_R__
  22. #include "ConditionalMacros.r"
  23. #endif
  24.  
  25. #define cmpIsMissing                     0x20000000
  26. #define cmpWantsRegisterMessage         0x80000000
  27.  
  28. #define componentDoAutoVersion             0x01
  29. #define componentWantsUnregister         0x02
  30. #define componentAutoVersionIncludeFlags  0x04
  31. #define componentHasMultiplePlatforms     0x08
  32. #define componentLoadResident             0x10
  33.  
  34.  
  35. /*----------------------------strn • Pascal-Style String--------------------------------*/
  36.     // ••• used for component name resources
  37. type 'strn' {
  38.         pstring;                                                /* String                */
  39. };
  40. /*----------------------------stri • Pascal-Style String--------------------------------*/
  41.     // ••• used for component info resources
  42. type 'stri' {
  43.         pstring;                                                /* String                */
  44. };
  45. /*----------------------------thng  • Component Manager thing ------------------------*/
  46. /*
  47.     thng_RezTemplateVersion:
  48.         0 - original 'thng' template    <-- default
  49.         1 - extended 'thng' template
  50.         2 - extended 'thng' template including resource map id
  51. */
  52. #ifndef thng_RezTemplateVersion
  53.     #ifdef UseExtendedThingResource            /* grandfather in use of “UseExtendedThingResource” */
  54.         #define thng_RezTemplateVersion 1
  55.     #else
  56.         #define thng_RezTemplateVersion 0
  57.     #endif
  58. #endif
  59.  
  60.  
  61. type 'thng' {
  62.         literal longint;                                        /* Type */
  63.         literal longint;                                        /* Subtype */
  64.         literal longint;                                        /* Manufacturer */
  65.         unsigned hex longint;                                     /* component flags */
  66.         unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  67.         literal longint;                                        /* Code Type */
  68.         integer;                                                /* Code ID */
  69.         literal longint;                                        /* Name Type */
  70.         integer;                                                /* Name ID */
  71.         literal longint;                                        /* Info Type */
  72.         integer;                                                /* Info ID */
  73.         literal longint;                                        /* Icon Type */
  74.         integer;                                                /* Icon ID */
  75. #if thng_RezTemplateVersion >= 1
  76.         unsigned hex longint;                                    /* version of Component */
  77.         longint;                                                /* registration flags */
  78.         integer;                                                /* resource id of Icon Family */
  79.         longint = $$CountOf(ComponentPlatformInfo);
  80.         wide array ComponentPlatformInfo {
  81.             unsigned hex longint;                                 /* component flags */
  82.             literal longint;                                    /* Code Type */
  83.             integer;                                            /* Code ID */
  84.             integer platform68k = 1,                            /* platform type (response from gestaltSysArchitecture) */
  85.                     platformPowerPC = 2,
  86.                     platformInterpreted = 3,
  87.                     platformWin32 = 4;
  88.         };
  89. #if thng_RezTemplateVersion >= 2
  90.         literal longint;                                        /* resource map type */
  91.         integer;                                                /* resource map id */
  92. #endif
  93. #endif
  94. };
  95.  
  96.  
  97. /*----------------------------thga • Thing --------------------------------------------*/
  98. type 'thga' {
  99.         literal longint;                                        /* Type */
  100.         literal longint;                                        /* Subtype */
  101.         literal longint;                                        /* Manufacturer */
  102.         unsigned hex longint;                                     /* component flags */
  103.         unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  104.         literal longint;                                        /* Code Type */
  105.         integer;                                                /* Code ID */
  106.         literal longint;                                        /* Name Type */
  107.         integer;                                                /* Name ID */
  108.         literal longint;                                        /* Info Type */
  109.         integer;                                                /* Info ID */
  110.         literal longint;                                        /* Icon Type */
  111.         integer;                                                /* Icon ID */
  112.  
  113.         literal longint;                                        /* Type */
  114.         literal longint;                                        /* Subtype */
  115.         literal longint;                                        /* Manufacturer */
  116.         unsigned hex longint;                                     /* component flags */
  117.         unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  118. #if thng_RezTemplateVersion >= 2
  119.         literal longint;                                        /* resource map type */
  120.         integer;                                                /* resource map id */
  121.         integer cmpAliasNoFlags = 0, cmpAliasOnlyThisFile = 1;    /* thing alias flags */
  122. #endif
  123. };
  124.  
  125.  
  126. /*----------------------------thn#  • Component Manager thing load order dependency ----*/
  127. type 'thn#' {
  128.         array {
  129.             literal longint;                                        /* Code Type */
  130.             integer;                                                /* Code ID */
  131.         };
  132. };
  133. #if !TARGET_OS_MAC || TARGET_REZ_CARBON_CFM
  134. /*----------------------------dlle • dlle resource--------------------------------*/
  135.     // used for multi-platform things
  136.     type 'dlle' {
  137.         cstring;
  138.     };
  139. #endif
  140.  
  141. /*-----------------------thnr • a Components public resource map ------------------*/
  142. type 'thnr' {
  143.         array {
  144.             literal longint;                                        /* thing resource type */
  145.             integer;                                                /* thing resource id */
  146.             integer;                                                /* unused flags */
  147.  
  148.             literal longint;                                        /* Mac resource type */
  149.             integer;                                                /* Mac resource id */
  150.             integer cmpResourceNoFlags = 0, cmpResourceCallComponent = 1;    /* flags*/
  151.         };
  152. };
  153.  
  154. type 'thar' as 'thnr';
  155.  
  156.  
  157. /*---------------------------- thnd • Component dependency (used for missings)------*/
  158. type 'thnd' {
  159.         longint = $$CountOf(ComponentDependency);
  160.         wide array ComponentDependency {
  161.             literal longint;                                        /* Type */
  162.             literal longint;                                        /* Subtype */
  163.             literal longint;                                        /* Manufacturer */
  164.             unsigned hex longint;                                     /* component flags */
  165.             unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  166.         };
  167. };
  168.  
  169.  
  170. #endif /* __COMPONENTS_R__ */
  171.  
  172.